Analyzing BlobFlow: A Case Study Using Model Checking to Verify Parallel Scientific Software
نویسندگان
چکیده
Model checking techniques are powerful tools for the analysis and verification of concurrent systems. This paper reports on a case study applying model checking techniques to a mature, MPI-based scientific program consisting of approximately 10K lines of code. The program, BlobFlow, implements a high order vortex method for solving the twodimensional Navier-Stokes equations. Despite the complexity of the code, we verify properties including freedom from deadlock and the functional equivalence of sequential and parallel versions of the program. This has led to new insights into the technology that will be required to automate the modeling and verification process for complex scientific software.
منابع مشابه
A Case Study in the Use of Model Checking to Verify Parallel Scientific Software
We report on a case study using the model checking tool Mpi-Spin to verify a nontrivial, deployed, MPI-based scientific program. The program, BlobFlow/ECCSVM, is an open source code implementing a high order vortex method for solving the Navier-Stokes equations in two dimensions. Over the past several years, it has been used for a variety of applications, including jets, coherent vortex structu...
متن کاملReachability checking in complex and concurrent software systems using intelligent search methods
Software system verification is an efficient technique for ensuring the correctness of a software product, especially in safety-critical systems in which a small bug may have disastrous consequences. The goal of software verification is to ensure that the product fulfills the requirements. Studies show that the cost of finding and fixing errors in design time is less than finding and fixing the...
متن کاملModeling and Analyzing Publish Subscribe Architcture using Petri Nets
Software architecture is the foundation for the development of software systems. Its correctness is important to the quality of the software systems that have been developed based on it. Formally modeling and analyzing software architecture is an effective way to ensure the correctness of software architecture. However, how to effectively verify software architecture and use the results from fo...
متن کاملModular Verification of Feature-Oriented Software Models
Most existing modular model checking techniques betray their hardware roots: they assume that modules compose in parallel. In contrast, feature-oriented software designs, which have proven very successful in several domains, are sequential in the simplest case. Most interesting feature-oriented designs are really quasi-sequential compositions of parallel compositions. These designs demand and i...
متن کاملAutomated Translation and Analysis of a ToolBus Script for Auctions
ToolBus allows to connect tools via a software bus. Programming is done using the scripting language Tscript, which is based on the process algebra ACP. In previous work we presented a method for analyzing a Tscript by translating it to the process algebraic language mCRL2, and then applying model checking to verify certain behavioral properties. We have implemented a prototype based on this ap...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2008